//
//  Camera.h
//  SSE
//

#import <Cocoa/Cocoa.h>
#import "openGLheads.h"

#ifndef MFUNS_H
#define MFUNS_H
#include "Mfuns.h"
#endif



//////////////////////////////////////////////////////////////////
// CAMERA SETUP
#define STEP		1.0     // camera movement step distance
#define NAVVIEW		0.45	// camera navigation view height
#define MASTVIEW	1.0		// camera mast cam view

@interface Camera : NSObject {
	
	Point3f eye;		// camera eye position
	Point3f look;	// camera viewing point
	Vector3f norm;	// camera up vector
	GLfloat zoom;
	GLfloat pitch;
	GLfloat yaw;
	GLfloat roll;	
}


- (id)initCameraWithView;
- (void)updateCamera;
- (void)Zoom:(float)zum;
- (void)setZoom:(float)zum;
- (float)getZoom;
- (void)setPitch:(float)pich;
- (void)Pitch:(float)pich;
- (void)setRoll:(float)rol;
- (void)setYaw:(float)ya;
- (void)lookX:(float)x Y:(float)y Z:(float)z;
- (void)eyeX:(float)x Y:(float)y Z:(float)z;
- (void)setLookX:(float)x Y:(float)y Z:(float)z;
- (void)setLook:(Point3f *)position;
- (void)setNormal:(Vector3f)vect;
- (void)setNormalNorth;
@end
